package GameLogic;

public class EnemyElfArcher extends EntityEnemy
{
	private double xThreshold;
	public EnemyElfArcher()
	{
		movementVelocity = 0.0001f;
		model = new EntityModel();
		value = 10;
		health = 10;
		model.texture_path = "res/ELFKA_2.png";

		 model.frames=1;                            //model does not have any frames
	        model.texture_coordinates=new float[] {0.0f, 0.0f,      //quad vertices; NOTICE: if you start with 0 as bottom left vertex
	                                     0.0f, 1.0f,       // it will spin around this vertex (rotate is performed on 0,0)
	                                     1.0f, 1.0f,
	                                     1.0f, 0.0f};
	        model.vertex_colour = new float[] {0.0f, 0.0f, 0.0f, 1.0f,  //RGBA, each vertex of quad
	                                        0.0f, 0.0f, 0.0f, 1.0f,
	                                        0.0f, 0.0f, 0.0f, 1.0f,
	                                        0.0f, 0.0f, 0.0f, 1.0f};
	         model.vertices = new float[] {-0.125f, -0.125f,      //quad vertices; NOTICE: if you start with 0 as bottom left vertex
	                                     0.125f, -0.125f,       // it will spin around this vertex (rotate is performed on 0,0)
	                                     0.125f, 0.125f,
	                                     -0.125f, 0.125f};
	     eCoord.scaleX = 0.75f;
	     eCoord.scaleY = 0.75f;
	     xThreshold = 1.1-(Math.random()/3);
	}

	public void tick()
	{
		super.tick();
		updateMovementByPath();
		if(attackProbability < 1.0f)
		{
			attackProbability += 0.0001f;
		}
	}
	
	public boolean isAttacking()
	{
		double random = Math.random();
		return random<attackProbability;
	}
	
	@Override
	void updateMovementByPath() {
		if(eCoord.posX > xThreshold)
		{
			eCoord.posX -= 0.0065f;
		}
	}

	@Override
	void attack() {
		// TODO Auto-generated method stub
		attackProbability = 0;
	}
}
